home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / AVComponents.p < prev    next >
Text File  |  1996-05-01  |  15KB  |  351 lines

  1. {
  2.      File:        AVComponents.p
  3.  
  4.      Contains:    Standard includes for standard AV panels
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT AVComponents;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __AVCOMPONENTS__}
  28. {$SETC __AVCOMPONENTS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC AVComponentsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __DIALOGS__}
  35. {$I Dialogs.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __VIDEO__}
  38. {$I Video.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __DISPLAYS__}
  41. {$I Displays.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __COMPONENTS__}
  44. {$I Components.p}
  45. {$ENDC}
  46.  
  47. {$PUSH}
  48. {$ALIGN MAC68K}
  49. {$LibExport+}
  50.  
  51. {$IFC UNDEFINED FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  52. {$SETC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE := 1 }
  53. {$ENDC}
  54. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  55. {
  56.     The subtypes listed here are for example only.  The display manager will find _all_ panels
  57.       with the appropriate types.  These panels return class information that is used to devide them
  58.       up into groups to be displayed in the AV Windows (class means "geometry" or "color" or other groupings
  59.       like that.
  60. }
  61.  
  62. CONST
  63.     kAVPanelType                = 'avpc';                        {  Panel subtypes             }
  64.     kBrightnessPanelSubType        = 'brit';
  65.     kContrastPanelSubType        = 'cont';
  66.     kBitDepthPanelSubType        = 'bitd';
  67.     kAVEngineType                = 'avec';                        {  Engine subtypes                 }
  68.     kBrightnessEngineSubType    = 'brit';
  69.     kContrastEngineSubType        = 'cont';                        {         kBitDepthEngineSubType        = 'bitd',            // Not used                     }
  70.     kAVPortType                    = 'avdp';                        { subtypes are defined in each port's public .h file }
  71.  
  72. {
  73.  PortComponent subtypes are up to the port and display manager does not use the subtype
  74.     to find port components.  Instead, display manager uses an internal cache to search for portcompoennts.
  75.     It turns out to be useful to have a unique subtype so that engines can see if they should apply themselves to
  76.     a particular port component.
  77.   
  78.    PortKinds are the "class" of port.  When a port is registered with display manager (creating a display ID), the
  79.     caller of DMNewDisplayIDByPortComponent passes a portKind.  Ports of this type are returned by
  80.     DMNewDevicePortList.
  81.   
  82.    PortKinds are NOT subtypes of components
  83.    PortKinds ARE used to register and find port components with Display Manager.  Here are the basic port kinds:
  84.   
  85.    Video displays are distinct from video out because there are some video out ports that are not actaully displays.
  86.     if EZAV is looking to configure displays, it needs to look for kAVVideoDisplayPortKind not kAVVideoOutPortKind.
  87. }
  88.     kAVVideoDisplayPortKind        = 'pkdo';                        {  Video Display (CRT or panel display)                 }
  89.     kAVVideoOutPortKind            = 'pkvo';                        {  Video out port (camera output).                       }
  90.     kAVVideoInPortKind            = 'pkvi';                        {  Video in port (camera input)                         }
  91.     kAVSoundOutPortKind            = 'pkso';                        {  Sound out port (speaker or speaker jack)             }
  92.     kAVSoundInPortKind            = 'pksi';                        {  Sound in port (microphone or microphone jack)     }
  93.     kAVDeviceType                = 'avdc';                        {  Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster)  }
  94.     kAVDisplayDeviceKind        = 'dkvo';                        {  Display device }
  95.                                                                 {  Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster) }
  96.     kAVCategoryType                = 'avcc';
  97.     kAVSoundInSubType            = 'avao';
  98.     kAVSoundOutSubType            = 'avai';
  99.     kAVVideoInSubType            = 'vdin';
  100.     kAVVideoOutSubType            = 'vdou';
  101.     kAVInvalidType                = 'badt';                        {  Some calls return a component type, in case of errors, these types are set to kAVInvalidComponentType  }
  102.  
  103. {
  104.  Constants for Panel Classes (used to build buttons in AVSetup) 
  105.  but is generic to all panels 
  106. }
  107.     kAVPanelClassDisplayDefault    = 'cdsp';
  108.     kAVPanelClassColor            = 'cclr';
  109.     kAVPanelClassGeometry        = 'cgeo';
  110.     kAVPanelClassSound            = 'csnd';
  111.     kAVPanelClassPreferences    = 'cprf';
  112.  
  113. {  =============================                     }
  114. {  Component interface revision levels and history     }
  115. {  =============================                     }
  116.     kAVPanelComponentInterfaceRevOne = 1;
  117.     kAVEngineComponentInterfaceRevOne = 1;
  118.     kAVPortComponentInterfaceRevOne = 1;
  119.     kAVDeviceComponentInterfaceRevOne = 1;
  120.  
  121.     kBaseAVComponentSelector    = 256;                            {  First apple-defined selector for engine components  }
  122.  
  123. {  =============================                 }
  124. {  Panel Standard component selectors             }
  125. {  =============================                 }
  126.     kAVPanelFakeRegisterSelect    = -5;                            {  -5     }
  127.     kAVPanelSetCustomDataSelect    = 0;
  128.     kAVPanelGetDitlSelect        = 1;
  129.     kAVPanelGetTitleSelect        = 2;
  130.     kAVPanelInstallSelect        = 3;
  131.     kAVPanelEventSelect            = 4;
  132.     kAVPanelItemSelect            = 5;
  133.     kAVPanelRemoveSelect        = 6;
  134.     kAVPanelValidateInputSelect    = 7;
  135.     kAVPanelGetSettingsIdentifiersSelect = 8;
  136.     kAVPanelGetSettingsSelect    = 9;
  137.     kAVPanelSetSettingsSelect    = 10;
  138.     kAVPanelSelectorGetFidelity    = 256;
  139.     kAVPanelSelectorTargetDevice = 257;
  140.     kAVPanelSelectorGetPanelClass = 258;
  141.  
  142. {  =============================                 }
  143. {  Engine Standard component selectors             }
  144. {  =============================                 }
  145.     kAVEngineSelectorGetEngineFidelity = 256;
  146.     kAVEngineSelectorTargetDevice = 257;
  147.  
  148. {  =============================                     }
  149. {  Video Port Specific calls                         }
  150. {  =============================                     }
  151.     kAVPortCheckTimingMode        = 0;
  152.  
  153. {  =============================                     }
  154. {  AV Port Specific calls                             }
  155. {  =============================                     }
  156.     kAVPortGetAVDeviceFidelity    = 256;                            {  Port Standard Component selectors  }
  157.     kAVPortGetWiggle            = 257;
  158.     kAVPortSetWiggle            = 258;
  159.     kAVPortGetName                = 259;
  160.     kAVPortGetGraphicInfo        = 260;
  161.     kAVPortSetActive            = 261;
  162.     kAVPortGetActive            = 262;
  163.     kAVPortUnsed1                = 263;                            {  Selector removed as part of API change.  We don't want to mess up the following selectors, so we put in this spacer (ie kPadSelector).  }
  164.     kAVPortGetAVID                = 264;
  165.     kAVPortSetAVID                = 265;
  166.     kAVPortSetDeviceAVID        = 266;                            {  For registrar to set device (instead of hitting global directly) -- should only be called once  }
  167.     kAVPortGetDeviceAVID        = 267;                            {  Called by display mgr for generic ports  }
  168.     kAVPortGetPowerState        = 268;
  169.     kAVPortSetPowerState        = 269;
  170.  
  171. {  =============================                     }
  172. {  Device Component Standard Component selectors     }
  173. {  =============================                     }
  174.     kAVDeviceGetName            = 256;
  175.     kAVDeviceGetGraphicInfo        = 257;
  176.     kAVDeviceGetPowerState        = 258;
  177.     kAVDeviceSetPowerState        = 259;
  178.     kAVDeviceGetAVID            = 260;                            {         Not yet implemented }
  179.     kAVDeviceSetAVID            = 261;                            {  For registrar to set AVID (should be called only once) }
  180.  
  181. {  =============================                 }
  182. {  Engine Standard component selectors             }
  183. {  =============================                 }
  184. FUNCTION AVEngineComponentGetFidelity(engineComponent: ComponentInstance; displayID: DisplayIDType; VAR engineFidelity: DMFidelityType): ComponentResult;
  185.     {$IFC NOT GENERATINGCFM}
  186.     INLINE $2F3C, $0008, $0100, $7000, $A82A;
  187.     {$ENDC}
  188. FUNCTION AVEngineComponentTargetDevice(engineComponent: ComponentInstance; displayID: DisplayIDType): ComponentResult;
  189.     {$IFC NOT GENERATINGCFM}
  190.     INLINE $2F3C, $0004, $0101, $7000, $A82A;
  191.     {$ENDC}
  192. {  =============================                 }
  193. {  Panel Standard Component calls                 }
  194. {  =============================                 }
  195. FUNCTION AVPanelFakeRegister(ci: ComponentInstance): ComponentResult;
  196.     {$IFC NOT GENERATINGCFM}
  197.     INLINE $2F3C, $0000, $FFFB, $7000, $A82A;
  198.     {$ENDC}
  199. FUNCTION AVPanelSetCustomData(ci: ComponentInstance; theCustomData: LONGINT): ComponentResult;
  200.     {$IFC NOT GENERATINGCFM}
  201.     INLINE $2F3C, $0004, $0000, $7000, $A82A;
  202.     {$ENDC}
  203. FUNCTION AVPanelGetDitl(ci: ComponentInstance; VAR ditl: Handle): ComponentResult;
  204.     {$IFC NOT GENERATINGCFM}
  205.     INLINE $2F3C, $0004, $0001, $7000, $A82A;
  206.     {$ENDC}
  207. FUNCTION AVPanelGetTitle(ci: ComponentInstance; title: StringPtr): ComponentResult;
  208.     {$IFC NOT GENERATINGCFM}
  209.     INLINE $2F3C, $0004, $0002, $7000, $A82A;
  210.     {$ENDC}
  211. FUNCTION AVPanelInstall(ci: ComponentInstance; dialog: DialogPtr; itemOffset: INTEGER): ComponentResult;
  212.     {$IFC NOT GENERATINGCFM}
  213.     INLINE $2F3C, $0006, $0003, $7000, $A82A;
  214.     {$ENDC}
  215. FUNCTION AVPanelEvent(ci: ComponentInstance; dialog: DialogPtr; itemOffset: INTEGER; VAR event: EventRecord; VAR itemHit: INTEGER; VAR handled: BOOLEAN): ComponentResult;
  216.     {$IFC NOT GENERATINGCFM}
  217.     INLINE $2F3C, $0012, $0004, $7000, $A82A;
  218.     {$ENDC}
  219. FUNCTION AVPanelItem(ci: ComponentInstance; dialog: DialogPtr; itemOffset: INTEGER; itemNum: INTEGER): ComponentResult;
  220.     {$IFC NOT GENERATINGCFM}
  221.     INLINE $2F3C, $0008, $0005, $7000, $A82A;
  222.     {$ENDC}
  223. FUNCTION AVPanelRemove(ci: ComponentInstance; dialog: DialogPtr; itemOffset: INTEGER): ComponentResult;
  224.     {$IFC NOT GENERATINGCFM}
  225.     INLINE $2F3C, $0006, $0006, $7000, $A82A;
  226.     {$ENDC}
  227. FUNCTION AVPanelValidateInput(ci: ComponentInstance; VAR ok: BOOLEAN): ComponentResult;
  228.     {$IFC NOT GENERATINGCFM}
  229.     INLINE $2F3C, $0004, $0007, $7000, $A82A;
  230.     {$ENDC}
  231. FUNCTION AVPanelGetSettingsIdentifiers(ci: ComponentInstance; VAR theID: INTEGER; VAR theType: OSType): ComponentResult;
  232.     {$IFC NOT GENERATINGCFM}
  233.     INLINE $2F3C, $0004, $0008, $7000, $A82A;
  234.     {$ENDC}
  235. FUNCTION AVPanelGetSettings(ci: ComponentInstance; VAR userDataHand: Handle; flags: LONGINT; theDialog: DialogPtr; itemsOffset: LONGINT): ComponentResult;
  236.     {$IFC NOT GENERATINGCFM}
  237.     INLINE $2F3C, $0010, $0009, $7000, $A82A;
  238.     {$ENDC}
  239. FUNCTION AVPanelSetSettings(ci: ComponentInstance; userDataHand: Handle; flags: LONGINT; theDialog: DialogPtr; itemsOffset: LONGINT): ComponentResult;
  240.     {$IFC NOT GENERATINGCFM}
  241.     INLINE $2F3C, $0010, $000A, $7000, $A82A;
  242.     {$ENDC}
  243. FUNCTION AVPanelGetFidelity(panelComponent: ComponentInstance; displayID: DisplayIDType; VAR panelFidelity: DMFidelityType): ComponentResult;
  244.     {$IFC NOT GENERATINGCFM}
  245.     INLINE $2F3C, $0008, $0100, $7000, $A82A;
  246.     {$ENDC}
  247. FUNCTION AVPanelComponentTargetDevice(panelComponent: ComponentInstance; displayID: DisplayIDType; theDialog: DialogPtr; itemsOffset: LONGINT): ComponentResult;
  248.     {$IFC NOT GENERATINGCFM}
  249.     INLINE $2F3C, $000C, $0101, $7000, $A82A;
  250.     {$ENDC}
  251. FUNCTION AVPanelComponentGetPanelClass(panelComponent: ComponentInstance; VAR panelClass: ResType; VAR subClass: ResType; reserved1: Ptr; reserved2: Ptr): ComponentResult;
  252.     {$IFC NOT GENERATINGCFM}
  253.     INLINE $2F3C, $0010, $0102, $7000, $A82A;
  254.     {$ENDC}
  255. {  =============================                 }
  256. {  Port Component Standard Component selectors     }
  257. {  =============================                 }
  258. FUNCTION AVPortGetAVDeviceFidelity(portComponent: ComponentInstance; deviceAVID: AVIDType; VAR portFidelity: DMFidelityType): ComponentResult;
  259.     {$IFC NOT GENERATINGCFM}
  260.     INLINE $2F3C, $0008, $0100, $7000, $A82A;
  261.     {$ENDC}
  262. FUNCTION AVPortGetWiggle(portComponent: ComponentInstance; VAR wiggleDevice: BOOLEAN): ComponentResult;
  263.     {$IFC NOT GENERATINGCFM}
  264.     INLINE $2F3C, $0004, $0101, $7000, $A82A;
  265.     {$ENDC}
  266. FUNCTION AVPortSetWiggle(portComponent: ComponentInstance; wiggleDevice: BOOLEAN): ComponentResult;
  267.     {$IFC NOT GENERATINGCFM}
  268.     INLINE $2F3C, $0002, $0102, $7000, $A82A;
  269.     {$ENDC}
  270. FUNCTION AVPortGetName(portComponent: ComponentInstance; VAR portName: Str255): ComponentResult;
  271.     {$IFC NOT GENERATINGCFM}
  272.     INLINE $2F3C, $0004, $0103, $7000, $A82A;
  273.     {$ENDC}
  274. FUNCTION AVPortGetGraphicInfo(portComponent: ComponentInstance; VAR thePict: PicHandle; VAR theIconSuite: Handle; theLocation: AVLocationPtr): ComponentResult;
  275.     {$IFC NOT GENERATINGCFM}
  276.     INLINE $2F3C, $000C, $0104, $7000, $A82A;
  277.     {$ENDC}
  278. FUNCTION AVPortSetActive(portComponent: ComponentInstance; setActive: BOOLEAN): ComponentResult;
  279.     {$IFC NOT GENERATINGCFM}
  280.     INLINE $2F3C, $0002, $0105, $7000, $A82A;
  281.     {$ENDC}
  282. FUNCTION AVPortGetActive(portComponent: ComponentInstance; VAR isPortActive: BOOLEAN; VAR portCanBeActivated: BOOLEAN; reserved: UNIV Ptr): ComponentResult;
  283.     {$IFC NOT GENERATINGCFM}
  284.     INLINE $2F3C, $0008, $0106, $7000, $A82A;
  285.     {$ENDC}
  286. FUNCTION AVPortGetAVID(portComponent: ComponentInstance; VAR avDeviceID: AVIDType): ComponentResult;
  287.     {$IFC NOT GENERATINGCFM}
  288.     INLINE $2F3C, $0004, $0108, $7000, $A82A;
  289.     {$ENDC}
  290. FUNCTION AVPortSetAVID(portComponent: ComponentInstance; avDeviceID: AVIDType): ComponentResult;
  291.     {$IFC NOT GENERATINGCFM}
  292.     INLINE $2F3C, $0004, $0109, $7000, $A82A;
  293.     {$ENDC}
  294. FUNCTION AVPortSetDeviceAVID(portComponent: ComponentInstance; avDeviceID: AVIDType): ComponentResult;
  295.     {$IFC NOT GENERATINGCFM}
  296.     INLINE $2F3C, $0004, $010A, $7000, $A82A;
  297.     {$ENDC}
  298. FUNCTION AVPortGetDeviceAVID(portComponent: ComponentInstance; VAR avDeviceID: AVIDType): ComponentResult;
  299.     {$IFC NOT GENERATINGCFM}
  300.     INLINE $2F3C, $0004, $010B, $7000, $A82A;
  301.     {$ENDC}
  302. FUNCTION AVPortGetPowerState(deviceComponent: ComponentInstance; getPowerState: AVPowerStatePtr): ComponentResult;
  303.     {$IFC NOT GENERATINGCFM}
  304.     INLINE $2F3C, $0004, $010C, $7000, $A82A;
  305.     {$ENDC}
  306. FUNCTION AVPortSetPowerState(deviceComponent: ComponentInstance; setPowerState: AVPowerStatePtr): ComponentResult;
  307.     {$IFC NOT GENERATINGCFM}
  308.     INLINE $2F3C, $0004, $010D, $7000, $A82A;
  309.     {$ENDC}
  310. {  =============================                 }
  311. {  Video Out Port Component Selectors             }
  312. {  =============================                 }
  313. FUNCTION AVPortCheckTimingMode(displayComponent: ComponentInstance; theDisplayID: DisplayIDType; connectInfo: VDDisplayConnectInfoPtr; modeTiming: VDTimingInfoPtr; reserved: LONGINT): ComponentResult;
  314.     {$IFC NOT GENERATINGCFM}
  315.     INLINE $2F3C, $0010, $0000, $7000, $A82A;
  316.     {$ENDC}
  317. {  =============================                 }
  318. {  AV Device Component Selectors                 }
  319. {  =============================                 }
  320. FUNCTION AVDeviceGetName(portComponent: ComponentInstance; VAR portName: Str255): ComponentResult;
  321.     {$IFC NOT GENERATINGCFM}
  322.     INLINE $2F3C, $0004, $0100, $7000, $A82A;
  323.     {$ENDC}
  324. FUNCTION AVDeviceGetGraphicInfo(portComponent: ComponentInstance; VAR thePict: PicHandle; VAR theIconSuite: Handle; theLocation: AVLocationPtr): ComponentResult;
  325.     {$IFC NOT GENERATINGCFM}
  326.     INLINE $2F3C, $000C, $0101, $7000, $A82A;
  327.     {$ENDC}
  328. FUNCTION AVDeviceGetPowerState(deviceComponent: ComponentInstance; getPowerState: AVPowerStatePtr): ComponentResult;
  329.     {$IFC NOT GENERATINGCFM}
  330.     INLINE $2F3C, $0004, $0102, $7000, $A82A;
  331.     {$ENDC}
  332. FUNCTION AVDeviceSetPowerState(deviceComponent: ComponentInstance; setPowerState: AVPowerStatePtr): ComponentResult;
  333.     {$IFC NOT GENERATINGCFM}
  334.     INLINE $2F3C, $0004, $0103, $7000, $A82A;
  335.     {$ENDC}
  336. FUNCTION AVDeviceSetAVID(deviceComponent: ComponentInstance; avDeviceID: AVIDType): ComponentResult;
  337.     {$IFC NOT GENERATINGCFM}
  338.     INLINE $2F3C, $0004, $0105, $7000, $A82A;
  339.     {$ENDC}
  340. {$ENDC}
  341. {$ALIGN RESET}
  342. {$POP}
  343.  
  344. {$SETC UsingIncludes := AVComponentsIncludes}
  345.  
  346. {$ENDC} {__AVCOMPONENTS__}
  347.  
  348. {$IFC NOT UsingIncludes}
  349.  END.
  350. {$ENDC}
  351.